package com.core.gwt.place.client;

import com.google.gwt.activity.shared.ActivityMapper;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.place.shared.PlaceHistoryMapper;

/**
 * Represents a code-split module - an {@link ActivityMapper} for activities
 * whose code is loaded asynchronously the first time one of those activities
 * needs to be started.
 * 
 * @see CodeSplitProxyActivity

 */
public interface CodeSplitModule extends ActivityMapper {
	/**
	 * Called once during the lifetime of the object when the module's code is
	 * first loaded. Implementations should initialize the module.
	 * 
	 * @param placeController
	 *            the application's {@link PlaceController}
	 * @param placeHistoryMapper
	 *            the application's {@link PlaceHistoryMapper}
	 */
	public void onLoad(PlaceController placeController,
			PlaceHistoryMapper placeHistoryMapper);
}
